import { createApp } from 'vue'
// 需要先安装 pinia 依赖包
// npm install pinia
import { createPinia } from 'pinia'

import App from './App.vue'
import router from './router/index'
import Toast from './libs/Toast'

// 导入 Animate.css
import 'animate.css/animate.css'

// 导入全局样式
import './assets/styles/index.css'

// 创建应用实例和Pinia
const app = createApp(App)
const pinia = createPinia()
app.use(pinia) //use pinia
app.use(router) //use router
app.use(Toast) //use toast

// 开发环境下立即初始化模拟数据 - 同步方式
const initApp = async (): Promise<void> => {
  // 挂载应用
  app.mount('#app')

  // 设置标志，表示我们将使用自定义mock数据
  // 注意：实际初始化会在Home.vue中进行，以避免重复初始化
  if (import.meta.env.DEV) {
    window.__USING_CUSTOM_MOCK__ = true
    console.log('main.ts: 已设置自定义mock数据标志，实际初始化会在组件加载时进行')
  }
}

// 启动应用
initApp()
